home *** CD-ROM | disk | FTP | other *** search
- RQS(1) Last changed: 1-7-99
-
-
- NNAAMMEE
- rrqqss, rrqqss3322 - Make 32-bit executable or shared object QUICKSTARTable
-
- SSYYNNOOPPSSIISS
- rrqqss [--tt _t_i_m_e_s_t_a_m_p__v_a_l_u_e__i_n__h_e_x] [--ll _t_e_x_t__a_d_d_r_e_s_s__i_n__h_e_x] [--cc
- _s_o__l_o_c_a_t_i_o_n_s__f_i_l_e] [-_u _s_o__l_o_c_a_t_i_o_n_s__f_i_l_e] [--ff] [--LL] [--LLddiirr] [--rr
- _r_o_o_t__p_a_t_h] [--cchhrroooott _r_o_o_t__p_a_t_h] [--lloogg <_f_i_l_e>] [-_r_l_d__a_d_d_r <_a_d_d_r_e_s_s>] [--
- rrlldd__aaddddrr__oonnllyy] [-_r_l_d__u_n_r_e_s_o_l_v_e__c_h_e_c_k__o_n_l_y] [--
- rrlldd__ffoorrccee__nnooqquuiicckkssttaarrtt__oonnllyy] _o_b_j_e_c_t
-
- IIMMPPLLEEMMEENNTTAATTIIOONN
- IRIX systems
-
- DDEESSCCRRIIPPTTIIOONN
- rrqqss and rrqqss3322 function identically and take the same options. rrqqss is
- an old 32-bit ABI program (--3322). _r_q_s_3_2 is a new 32-bit ABI program
- (--nn3322). Either can process old 32-bit ABI and new 32-bit ABI
- applications and DSOs (so they can be used interchangeably).
-
- rrqqss takes an object, either an executable or a shared object, and
- using its lliibblliisstt will then redo all the pre-relocations. For shared
- objects only, if -_l_o_a_d__a_d_d_r_e_s_s is specified, then the specified
- address will be used as the lowest virtual address for that shared
- object, otherwise options --cchheecckk__rreeggiissttrryy and/or --uuppddaattee__rreeggiissttrryy will
- be used to figure out possible QUICKSTART addresses for that shared
- object, just like lldd.
-
- rrqqss will create a new version of the object and save it back in place,
- overwriting the previous version, so you may want to save a copy of
- the object before requickstarting it.
-
- For an object to be requickstartable, the bit RRHHFF__RREEQQUUIICCKKSSTTAARRTT must be
- set in the DDTT__MMIIPPSS__FFLLAAGGSS field of its ..ddyynnaammiicc section. This bit is
- normally set by lldd. After an object has been requickstarted, the bit
- RRHHFF__RREEQQUUIICCKKSSTTAARRTTEEDD will be set in the DDTT__MMIIPPSS__FFLLAAGGSS field of its
- ..ddyynnaammiicc section.
-
- With the --mm option, _r_q_s will move an object to a requested address
- even if the result will not quickstart.
-
- --ff Requickstart _o_b_j_e_c_t even if RRHHFF__RREEQQUUIICCKKSSTTAARRTT is not set in
- _o_b_j_e_c_t.
-
- --ffoorrccee__rreeqquuiicckkssttaarrtt
- is an alternate spelling of the --ff option.
-
- --tt _t_i_m_e_s_t_a_m_p__v_a_l_u_e__i_n__h_e_x
- Specifies a timestamp value in hex to replace the one in the
- DDTT__MMIIPPSS__TTIIMMEE__SSTTAAMMPP field of the ..ddyynnaammiicc section, applicable to
- shared object only.
-
- --ttiimmeessttaammpp _t_i_m_e_s_t_a_m_p__v_a_l_u_e__i_n__h_e_x
- is an alternate spelling of the --tt option.
-
- --ll _t_e_x_t__a_d_d_r_e_s_s__i_n__h_e_x
- Specifies the lowest virtual address for the shared object being
- rrqqss'd, when specified, options --cchheecckk__rreeggiissttrryy and
- --uuppddaattee__rreeggiissttrryy will be ignored.
-
- --llooaadd__aaddddrreessss _t_e_x_t__a_d_d_r_e_s_s__i_n__h_e_x
- This is an alternate spelling of the --ll option.
-
- --cc _s_o__l_o_c_a_t_i_o_n_s__f_i_l_e
- Check the location of this shared object's segments and make sure
- they stay out of the way of others in the _s_o__l_o_c_a_t_i_o_n_s__f_i_l_e. A
- single registry file, either with --cc or --uu is allowed.
- Applicable to shared object only.
-
- --cchheecckk__rreeggiissttrryy _s_o__l_o_c_a_t_i_o_n_s__f_i_l_e
- This is an alternate spelling of the --cc option.
-
- --uu _s_o__l_o_c_a_t_i_o_n_s__f_i_l_e
- Register the location of this shared object's segments and make
- sure they stay out of the way of others in the _s_o__l_o_c_a_t_i_o_n_s__f_i_l_e.
- _s_o__l_o_c_a_t_i_o_n_s__f_i_l_e is updated if it is writable. A single
- registry file, either with --cc or --uu is allowed. Applicable to
- shared object only.
-
- --uuppddaattee__rreeggiissttrryy _s_o__l_o_c_a_t_i_o_n_s__f_i_l_e
- This is an alternate spelling of the --uu option.
-
- --LL Change the algorithm of searching for libraries to never look in
- the default directories (//uussrr//lliibb:://lliibb). This option has the
- same semantics as the --LL option in the lldd command.
-
- --LL_d_i_r
- Change the algorithm of searching for libraries to look in _d_i_r
- before looking in the default directories. This option has the
- same semantics as the --LLddiirr option in the lldd. The environment
- variable LLDD__LLIIBBRRAARRYY__PPAATTHH can also be used for this purpose. (For
- a new 32-bit ABI object LLDD__LLIIBBRRAARRYYNN3322__PPAATTHH is used if it exists,
- or else LLDD__LLIIBBRRAARRYY__PPAATTHH is used, if it exists.)
-
- --mm Move the dso even if address overlaps are detected (without this
- option address overlaps cause rrqqss to exit without doing
- anything). If an address overlap is detected, the RRHHFF__QQUUIICCKKSSTTAARRTT
- flag is reset (to 0) in the dynamic section. Generally, this is
- useful only if the --ll option is also specified on the command
- line.
-
- --vv Makes rrqqss more verbose. Generally intended for debugging, but it
- is useful if you want to know if the --mm option detected any
- address overlaps (messages will be issued).
-
- --rr _r_o_o_t__p_a_t_h
- Change the path of the default directories that rrqqss uses for
- searching libraries by appending _r_o_o_t__p_a_t_h to the front of the
- default path, just like that in __RRLLDD__RROOOOTT. It can also be a
- colon(:) separated list. In fact, the environment variable
- __RRLLDD__RROOOOTT can also be used for this purpose. (For a new 32-bit
- ABI object, use __RRLLDDNN3322__RROOOOTT instead of __RRLLDD__RROOOOTT).
-
- --rroooott _r_o_o_t__p_a_t_h
- This is an alternate spelling of the --rr option.
-
- --cchhrroooott _r_o_o_t__p_a_t_h
- This causes the named directory _r_o_o_t__p_a_t_h to become the root
- directory, the starting point for path searches for path names
- beginning with /e.
-
- --lloogg _f_i_l_e
- Pipes all error messages to _f_i_l_e instead of standard output.
-
- --rrlldd__aaddddrr _a_d_d_r_e_s_s
- Sets the dynamic section DDTT__MMIIPPSS__RRLLDD__TTEEXXTT__RREESSOOLLVVEE__AADDDDRR to
- _a_d_d_r_e_s_s.
-
- --rrlldd__aaddddrr__oonnllyy
- Restricts the changes to be made to the dynamic section,
- DDTT__MMIIPPSS__RRLLDD__TTEEXXTT__RREESSOOLLVVEE__AADDDDRR (only effective if the -_r_l_d__a_d_d_r
- option is also specified on the command line).
-
- --rrlldd__uunnrreessoollvvee__cchheecckk__oonnllyy
- Restricts the changes to be to the dynamic section's
- DDTT__MMIIPPSS__FFLLAAGGSS to set or unset RRHHFF__NNOO__UUNNRREESS__UUNNDDEEFF depending on
- whether there were any undefined variables.
-
- --rrlldd__ffoorrccee__nnooqquuiicckkssttaarrtt__oonnllyy
- Restricts the changes to be to reset the dynamic section's
- DDTT__MMIIPPSS__FFLLAAGGSS RRHHFF__QQUUIICCKKSSTTAARRTT flag.
-
- The following options must be put into the environment variable
- __RRQQSS__AARRGGSS to be understood; they cannot be specified on the command
- line.
-
- ""--ddeebbuugg mmaapp""
- Used for debugging rrqqss. Prints information about the mapping
- (address) of the object.
-
- ""--ddeebbuugg ssyymmbbooll""
- Used for debugging rrqqss. Prints information about the symbol
- searches and symbol finding in the object (in symbol relocation).
-
- ""--ddeebbuugg MMAALLLLOOCC""
- Used for debugging rrqqss. Prints a trace of some of the
- mmaalllloocc/rreeaalllloocc calls.
-
- ""--ddeebbuugg hhaasshh""
- Used for debugging rrqqss. Prints a trace of the hashing function
- used searching a hash table for a symbol.
-
- EEXXAAMMPPLLEESS
- The following command can be used to move a set of DSOs to a common
- base address:
-
- #!/bin/sh
- for in dso1.so dso2.so dso3.so
- do
- rqs -l 0x300000 -m -f $i
- done
-
- You may want to do this if a set of DSOs used by an application takes
- too much virtual address space to lay out sequentially, and the set is
- too large to try to provide _s_o__l_o_c_a_t_i_o_n_s at link time.
-
- NNOOTTEESS
- Some options have long and short spellings. For example, --ff and
- --ffoorrccee__rreeqquuiicckkssttaarrtt do the same thing. The short form is easier to
- remember and spell. Because the long form is used in existing scripts
- and programs, both forms will be supported.
-
- Where any option specifies that a value supplied on the command line
- is to be in hexadecimal, the value is interpreted as hexadecimal
- digits whether or not a leading "0x" is part of the option value.
-
- FFIILLEESS
- //uussrr//eettcc//rrqqss
- //uussrr//eettcc//rrqqss3322
- //uussrr//lliibb//ssoo__llooccaattiioonnss (for old 32-bit ABI)
- //uussrr//lliibb3322//ssoo__llooccaattiioonnss (for new 32-bit ABI)
-
- SSEEEE AALLSSOO
- lldd(1), rrlldd(1), rrqqss6644(1), rrqqssaallll(1)
-
- This man page is available only online.
-